import unittest
import requests



# 定义测试类
class TestIhrmLogin(unittest.TestCase):
    # 登录测试方法- 登录成功
    def test01_login_ok(self):
        # 发送 post 登录请求，指定URL、请求头、请求体，并获取响应结果
        resp = requests.post(url="http://ihrm-java.itheima.net/api/sys/login",
                             headers = {"Content-Type":"application/json"},
                             json={"mobile":"13800000002","password":"123456"})
        # 打印响应结果
        print(resp.json())

        # 断言--响应状态码为200
        self.assertEqual(200,resp.status_code)
        # 断言 success 的值为True
        self.assertEqual(True,resp.json().get("success"))
        # 断言 code的值为10000
        self.assertEqual(10000,resp.json().get("code"))
        # 断言 message的值为 操作成功！
        self.assertEqual("操作成功!",resp.json().get("message"))

    # 登录测试方法- 手机号不存在
    def test02_tel_not_exists(self):
        # 发送 post 登录请求，指定URL、请求头、请求体，并获取响应结果
        resp = requests.post(url="http://ihrm-java.itheima.net/api/sys/login",
                             headers = {"Content-Type":"application/json"},
                             json={"mobile":"13815674444","password":"123456"})
        # 打印响应结果
        print(resp.json())

        # 断言--响应状态码为200
        self.assertEqual(200,resp.status_code)
        # 断言 success 的值为True
        self.assertEqual(False,resp.json().get("success"))
        # 断言 code的值为10000
        self.assertEqual(20001,resp.json().get("code"))
        # 断言 message的值为 操作成功！
        self.assertEqual("用户名或密码错误",resp.json().get("message"))

    # 登录测试方法- 密码错误
    def test03_pwd_err(self):
        # 发送 post 登录请求，指定URL、请求头、请求体，并获取响应结果
        resp = requests.post(url="http://ihrm-java.itheima.net/api/sys/login",
                             headers = {"Content-Type":"application/json"},
                             json={"mobile":"13800000002","password":"123123"})
        # 打印响应结果
        print(resp.json())

        # 断言--响应状态码为200
        self.assertEqual(200,resp.status_code)
        # 断言 success 的值为True
        self.assertEqual(False,resp.json().get("success"))
        # 断言 code的值为10000
        self.assertEqual(20001,resp.json().get("code"))
        # 断言 message的值为 操作成功！
        self.assertEqual("用户名或密码错误",resp.json().get("message"))